function Food(gameSnake) {
    // 传递gameSnake参数的主要原因是  构造函数的this指向的是它自己的一个实例化对象 此处主要是为了获得game构造函数对象的一些属性
    //创建食物的行和列 do while循环的目的是为了保证创建的食物对象一定不在蛇的身上

    var self = this; 
    do{
        // 先创建一个食物
        this.row = parseInt(Math.random() * gameSnake.row);
        this.col = parseInt(Math.random() * gameSnake.col);
    } while ((function() {
        //立即执行函数的this指向的是window对象
        // console.log(this);
        // 判断食物是否在蛇的身上
        for (var i = 0;i < gameSnake.snake.body.lenght; i++) {
            if (gameSnake.snake.body[i].row == self.row && gameSnake.snake.body[i].col == self.col) {
                // 当食物在蛇的身体上时重新创建一个食物对象
                return true;
            }
        }
        // 此时食物没有在蛇的身体上 可以结束创建食物对象
        return false;
    })());
}
// 渲染食物
Food.prototype.render = function() {
    game.setHtml(this.row, this.col, '♥');
}